As a business traveler I want to reschedule a flight in the future so that I know I can still get home but finish an important business meeting
As a business traveler I want to cancel a flight because my schedule changes and if I don’t update it now I might forget and lose money
As a traveler’s representative I want to inform a business traveler of a delayed flight to keep them from spending their limited free time at the airport
Monopoly
A Player can land on go and receive $200
A Player can land on Reading Railroad and purchase it
A Player can land on Boardwalk and pay rent
Online Student Store
I’m a student who wants to purchase books for my schedule
I’m a student who wants to purchase supplemental materials for a course
I’m a student who needs to get the cost for the books and materials of a semester’s schedule
INVEST
Independent
Avoid dependencies between stories
Negotiable
Not contracts, but place holders for conversations
Valuable to users or customers
Can be directly tied to something a user or customer (purchaser) wants
Estimatable
Can fit into an iteration and be approximately estimated
Small
Can be done in a “short” time & its details fit in a conversation
Testable
Can describe ways in which we know the story works
Story Guidelines
Customer writes them
Start with user role goal epics
Slice the cake
Write closed stories
Size relative to time horizon
Defer UI as long as possible
Common sense, some things are not stories
Include roles
Write for one user
Write in active voice
Do not number your cards
It's a reminder/placeholder, not the requirements
Put constraints on "constraint cards" (first version of quality attributes)
Story Smells
Many of these come of Mike Cohn's work.
Stories are too small
Interdependent stories
Gold-plating
Adding too many details to stories
Including user interface details too soon (or at all)
Examples
Online Itinerary Maintenance
Monopoly
Online Student Store
INVEST
Independent- Avoid dependencies between stories
Negotiable- Not contracts, but place holders for conversations
Valuable to users or customers- Can be directly tied to something a user or customer (purchaser) wants
Estimatable- Can fit into an iteration and be approximately estimated
Small- Can be done in a “short” time & its details fit in a conversation
TestableStory Guidelines
Story Smells
Many of these come of Mike Cohn's work.